//
//  PMGrooveJoint.h
//  PezMonkey
//
//  Created by Spence DiNicolantonio on 10/31/09.
//  Copyright 2009 Necrosoft. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "PMCore.h"
#import "PMJoint.h"


#pragma mark PMGroove Type / Functions

typedef struct _PMGroove {
	PMVect start;
	PMVect end;
} PMGroove;

static inline PMGroove PMGrooveMake(PMVect start, PMVect end) {
	return (PMGroove) {start, end};
}

#pragma mark -


@interface PMGrooveJoint : PMJoint {

}


#pragma mark -
#pragma mark Init
- (id)initWithGroove:(PMGroove)groove onBodyA:(PMBody *)aBody BodyB:(PMBody *)otherBody; 
- (id)initWithGroove:(PMGroove)groove onBodyA:(PMBody *)aBody anchor:(PMAnchor)anchorB onBodyB:(PMBody *)otherBody; 


#pragma mark -
#pragma mark Getters
- (PMGroove)groove;
- (PMAnchor)anchor;


#pragma mark -
#pragma mark Setters
- (void)setGroove:(PMGroove)groove;
- (void)setAnchor:(PMAnchor)anchor;

@end
